package org.evej.model;

import java.io.Serializable;

public class Augmentation implements Serializable {

    private final String name;
    private final int bonus;
    private final SkillAttribute attribute;

    private Augmentation(Builder builder) {
        this.name = builder.name;
        this.attribute = builder.skillAttribute;
        this.bonus = builder.bonus;
    }

    public String getName() {
        return name;
    }

    public int getBonus() {
        return bonus;
    }

    public SkillAttribute getAttribute() {
        return attribute;
    }
    
    public static class Builder {

        private String name;
        private int bonus;
        private final SkillAttribute skillAttribute;

        public Builder(SkillAttribute skillAttribute) {
            this.skillAttribute = skillAttribute;
        }
        
        public Builder setName(String name) {
            this.name = name;
            return this;
        }

        public Builder setBonus(int bonus) {
            this.bonus = bonus;
            return this;
        }

        public Augmentation build() {
            return new Augmentation(this);
        }
        
    }
    
}
